Partager via


System.Collections.ObjectModel.KeyedCollection<TKey,TItem>. ChangeItemKey, méthode

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

La ChangeItemKey(TItem, TKey) méthode ne modifie pas la clé incorporée item; elle remplace simplement la clé enregistrée dans le dictionnaire de recherche. Par conséquent, si newKey elle est différente de la clé incorporée item, vous ne pouvez pas accéder item à l’aide de la clé retournée par GetKeyForItem.

Cette méthode ne fait rien si le KeyedCollection<TKey,TItem> dictionnaire de recherche n’a pas de dictionnaire de choix.

Chaque clé d’un KeyedCollection<TKey,TItem> doit être unique. Une clé ne peut pas être null.

Cette méthode est une opération O(1).

Remarques pour les implémenteurs

Avant de modifier la clé incorporée dans un élément, vous devez appeler cette méthode pour mettre à jour la clé dans le dictionnaire de recherche. Si le seuil de création du dictionnaire est -1, l’appel de cette méthode n’est pas nécessaire.

N’exposez pas la ChangeItemKey méthode en tant que méthode publique d’une classe dérivée. L’utilisation incorrecte de cette méthode place le dictionnaire de recherche hors de synchronisation avec les clés d’élément. Par exemple, définir la clé null et la définir sur une autre valeur ajoute plusieurs clés pour un élément au dictionnaire de recherche. Exposez cette méthode en interne pour autoriser les clés d’élément mutables : lorsque la clé d’un élément change, cette méthode est utilisée pour modifier la clé dans le dictionnaire de recherche.